﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Community.CsharpSqlite
{
    class MEMTermFlag
    {
        /* Whenever Mem contains a valid string or blob representation, one of
  ** the following flags must be set to determine the memory management
  ** policy for Mem.z.  The MEM_Term flag tells us whether or not the
  ** string is \000 or \u0000 terminated
  //    */
        //#define MEM_Term      0x0200   /* String rep is nul terminated */
        //#define MEM_Dyn       0x0400   /* Need to call sqliteFree() on Mem.z */
        //#define MEM_Static    0x0800   /* Mem.z points to a static string */
        //#define MEM_Ephem     0x1000   /* Mem.z points to an ephemeral string */
        //#define MEM_Agg       0x2000   /* Mem.z points to an agg function context */
        //#define MEM_Zero      0x4000   /* Mem.i contains count of 0s appended to blob */
        //#ifdef SQLITE_OMIT_INCRBLOB
        //  #undef MEM_Zero
        //  #define MEM_Zero 0x0000
        //#endif
        public const int MEM_Term = 0x0200;
        public const int MEM_Dyn = 0x0400;
        public const int MEM_Static = 0x0800;
        public const int MEM_Ephem = 0x1000;
        public const int MEM_Agg = 0x2000;
#if !SQLITE_OMIT_INCRBLOB
    const int MEM_Zero = 0x4000;  
#else
        public const int MEM_Zero = 0x0000;
#endif
    }
}
